Sun(太阳)公司发明的Java编程语言自从1995年横空出世以来,迅速掀起了一股席卷全球IT界的风暴。在此之前,整个计算机领域被雄心勃勃的十几家大公司切割得阡陌交错,Windows、OS/2、Macintosh、Unix等各有渊源的计算标准相互对立,不仅硬件设备互不兼容,操作系统等软件平台也相互孤立。例如,用于Windows的软件在OS/2上举步维艰,在IBM Unix上运转如飞的软件在HPUnix上变得动弹不了。不仅不同厂家的计算设备之间沟通乏术,甚至同一用户在不同计算平台上开发的数据资源也不能相互交流,一些企业的不同部门根据各自的需要建设的信息基础设施就像一座座“信息孤岛”,“鸡犬之声相闻,老死不相往来”。应用软件开发商苦不堪言,他们在某一种平台上完成了开发工作后,还得费心地将它一一移植到其他平台上。
正是在这种情况下,Java在世界上第一次真正实现了对计算平台的跨越,它的开放性、易用性给整个计算机产业注入了一股活水。Java的神奇之处在于具有“一次编写、随处运行”的独到优势,无论用户使用的是哪些硬件平台或操作系统,只要在整个企业中部署了Java,就可以实现无障碍联网,充分利用企业的全部数据资源。同样,用Java开发的应用软件可以在任何一种流行计算平台上自如运行。
据不完全统计,全世界有7000多万人正在使用Java,开发者超过90万人,在美国著名的“财富1000家”企业中有52%已经具有Java资源,16%配置了Java应用软件,42%的公司将于1999年在重要部门使用Java,市面上销售的Java应用软件已有1000多个。目前,Java已经使Sun公司不可思议地获得了98亿美元的收入。
由于Sun公司和微软公司的技术、产品、市场、经营理念和文化内涵各不相同,二者本来井水不犯河水,倒也相安无事。后来,微软的市场不断膨胀,整个IT界似乎都生活在WINTEL(微软与英特尔)的阴影之下。1995年5月,Sun公司发布的Java为冲破这种阴影带来一线曙光,人们看到了摆脱WINTEL的希望。Java可以作为削弱微软“挟Windows以令诸侯”的武器,粉碎微软一统天下的局面。因此,Java一经发布,立刻被业界诸多如IBM、Novell、Oracle、Netscape等大腕拥抱。Sun也因之成为了反微软阵线联盟的盟主。
Java许诺能在几乎所有的机器上运行,不管该机器是否运行Windows操作系统。因此,Java虚拟机对微软在操作系统市场上的垄断地位产生了巨大的冲击作用,这决不是微软所希望看到的。但是,许多公司都把自己的未来压在Java上,这种大气候迫使微软终于在1995年12月作出拥抱Java的姿态,许诺在获得Java的授权后,将投入数以百计的编程人员,使Windows成为运行Java的最佳场所。同时,Sun也希望借助微软在营销渠道和用户基础等方面无与伦比的优势,加速Java的流行和传播。在1996年3月获得Java授权后,微软首先开始在其Windows和IE浏览器中支持Java。
尽管在公共场合中,1996年的盖茨对Java仍显出一副不屑一顾和鄙视的态度,但在公司内部,尤其是在内部的E-mail交流中,盖茨还是说出了自己的担心。他认为,Java将使软件开发商们从此脱离Windows平台,而微软却无法控制他们。更令盖茨担心的是包括IBM、苹果、Oracle和Netscape在内的Java开发商联盟。
于是,怎样“污染”Java,成了微软内部经常讨论的话题。微软的一位高级员工曾在一封电子邮件中坦陈:“我们应当悄悄地增加我们的WindowsJava的市场份额,使人们无意识地创建只能运行于Windows的Java。”
事实上,微软采取了“拥抱而扩展”Java的态度,企图制造多个版本的Java,破坏100%纯Java的既定规则,使Java重蹈当年UNIX的多个版本互不兼容的覆辙,从而完全破坏Java的开放和跨平台的本质特性。1997年6月,微软宣布,要利用Java创建一系列只能运行于Windows上的应用程序──Windows Java,这种Java不同于Sun公司的纯Java,将“给用户更多的选择”。其实质是要使Java的“编写一次,处处运行”的承诺化为泡影。微软正式发布的Windows98、IE4.0和Java软件开发工具(SDKJ)根本无法通过Sun公司的100%纯Java测试。因为这些软件不支持代表Java技术优势的Java基础类或Java本原界面和远程方法调用。相反地,微软创建了自己的应用基础类,而IE4只支持微软自己的Java版本。结果,利用微软的SDKJ编写的Java小程序只能在Windows和IE4上运行,而无法在其他诸如UNIX和MacOS的操作系统上运行,也不能在其他诸如Navigator的浏览器上运行。
微软企图再一次把软件开发者和应用程序“固化”于Windows平台和IE浏览器上。这违背了Java开放和跨平台的本质特性,也是整个IT业界所不愿看到的。
1997年10月7日,Sun公司向位于加州圣合塞的美国地方法院起诉微软违反Java协议,犯有商标侵权、错误广告、不遵守合同、不公平竞争、粗暴干涉潜在的商业优势等行为。其实质是声讨微软在Java的实现和营销宣传活动中损坏了100%纯Java的兼容性。
Sun起诉微软,目的并不是要收回与微软签署的Java许可证书,从而把微软赶出具有117个许可证成员的Java阵营,毕竟微软在市场营销渠道等方面具有无法比拟的强势。Sun只是意在规劝微软真正地遵守许可证协议。在该诉讼结案之前,Sun禁止向微软提供Java的更新版本。
1998年11月17日,美国地方法院就Sun公司起诉微软违反协议,擅自修改Java程序代码一案作出初步裁决。法官勒令微软在90天内修改其Windows98,使之符合Sun的Java语言标准,或者将Java完全从其操作系统和应用开发工具中清除,否则将禁止其销售。这一规定涉及到操作系统、浏览器和Java开发工具等一系列微软重要的产品,包括Windows98、IE4、VisualJ++等。但是,这一裁决并不要求微软回收其已经售出的产品,而特别要求微软修改其Java虚拟机,以包括Sun公司的Java NativeInterface。裁决宣布的当天,Sun公司的股票从66.25美元升到69.81美元,而微软的股票则从111.875美元跌至109.125美元。
微软的发言人表示,微软对这个判决非常失望,并表示将上诉,但是微软将遵守这项裁决。Sun公司对裁决非常满意,他们认为,自己在Java上的领导地位是谁也不能撼动的。Sun公司负责Java平台事务的副总裁说:“这是所有Java被授权者、开发商和消费者的胜利。与此同时,这也为微软提供了一个重返Java社区的机会。”
1999年2月19日,法官针对1998年11月的临时裁决发布了一项声明书,宣称11月的临时裁决只适用于微软按照授权协议书从Sun中获得的代码和文件,而微软有权发行具有自主版权的、不违反Sun公司版权的Java技术和产品。
虽然Sun公司在与微软的较量中获得初步胜利,但仍不可掉以轻心。这次Java之争的背后,实质上是微软想同Sun争夺在全球范围内的Java的控制权,包括Java的标准制订权、对其他公司和组织Java标准的监护权和Java的通用冠名权等。Java的最终战场不是Java虚拟机,也不是浏览器,而是为包括家电在内的所有电子设备提供运算和联网功能。微软利用其在Windows所占有的90%以上的PC操作系统市场,进入各种相关的产品领域,一路所向披靡:以NT进军服务器市场,以CE挥师手持电脑市场,以Office组件强占办公软件市场,以IE控制Internet门户,以MSN力争网络服务市场,以SQLSever袭击数据库市场,同时利用其巨大的资金和市场优势,染指电子商务、个人金融、电视服务和通信等市场。一旦Sun在Java之争中败诉,微软将轻而易举地离间Java,其结果将是微软拿下家电智能化市场,IT世界将变成微软家族。